layui.config({
	base : "js"
}).use(['form','layer','jquery','laypage'],function(){
	
	var form = layui.form,
		layer = parent.layer === undefined ? layui.layer : parent.layer,
		laypage = layui.laypage,
		$ = layui.jquery;

	//ajax加载员工初始数据数据
	selStaffByPageModel(1,10,$(".search_input").val());

	//查询
	$(".search_btn").click(function(){
		var newArray = [];
		if($(".search_input").val() != ''){
			var index = layer.msg('查询中，请稍候',{icon: 16,time:false,shade:0.8});
            setTimeout(function(){
            	//调用查询员工
            	selStaffByPageModel(1,10,$(".search_input").val());
                layer.close(index);
            },2000);
		}else{
			layer.msg("请输入需要查询的内容");
		}
	})
	//添加员工
	//改变窗口大小时，重置弹窗的高度，防止超出可视区域（如F12调出debug的操作）
	$(window).one("resize",function(){
		//绑定添加员工按钮的点击事件
		$(".staffAdd_btn").click(function(){
			var index = layui.layer.open({
				title : "添加员工",
				type : 2,
				content : "addstaffInfo.jsp",
				success : function(layero, index){
					setTimeout(function(){
						layui.layer.tips('点击此处返回员工列表', '.layui-layer-setwin .layui-layer-close', {
							tips: 3
						});
					},500)
				}
			})			
			layui.layer.full(index);
		});
		//绑定修改员工单击事件
		$("body").on("click",".staff_Update",function(){  
			//得到员工相关信息
			//alert($(this).attr("siid"));
			//得到父节点的上一个元素（职位）
			//alert($(this).parent().prev().attr("ptIid"));
			var ptIName = $(this).parent().prev().text();
			var ptIid = $(this).parent().prev().attr("ptIid");
			var dpIid = $(this).parent().prev().prev().attr("dpIid");
			var siid = $(this).attr("siid");
			var siaddress = $(this).parent().prev().prev().prev().text();
			var idCard = $(this).parent().prev().prev().prev().prev().text();
			var phone = $(this).parent().prev().prev().prev().prev().prev().text();
			var sex = $(this).parent().prev().prev().prev().prev().prev().prev().prev().text();
			var name = $(this).parent().prev().prev().prev().prev().prev().prev().prev().prev().text();
			//alert(name)
			//拼接href链接地址
			var hrefToUpdateStaff = encodeURI("addstaffInfo.jsp?"+name+","+sex+","+phone+","+dpIid+","+ptIid+","+idCard+","+siaddress+","+siid+","+ptIName);
			var index = layui.layer.open({
				title : "修改员工",
				type : 2,
				content : hrefToUpdateStaff,
				success : function(layero, index){
					setTimeout(function(){
						layui.layer.tips('点击此处返回员工列表', '.layui-layer-setwin .layui-layer-close', {
							tips: 3
						});
					},500)
				}
			})			
			layui.layer.full(index);
		})
	}).resize();

/*	//推荐文章
	$(".recommend").click(function(){
		var $checkbox = $(".news_list").find('tbody input[type="checkbox"]:not([name="show"])');
		if($checkbox.is(":checked")){
			var index = layer.msg('推荐中，请稍候',{icon: 16,time:false,shade:0.8});
            setTimeout(function(){
                layer.close(index);
				layer.msg("推荐成功");
            },2000);
		}else{
			layer.msg("请选择需要推荐的文章");
		}
	})*/

	/*//审核文章
	$(".audit_btn").click(function(){
		var $checkbox = $('.news_list tbody input[type="checkbox"][name="checked"]');
		var $checked = $('.news_list tbody input[type="checkbox"][name="checked"]:checked');
		if($checkbox.is(":checked")){
			var index = layer.msg('审核中，请稍候',{icon: 16,time:false,shade:0.8});
            setTimeout(function(){
            	for(var j=0;j<$checked.length;j++){
            		for(var i=0;i<newsData.length;i++){
						if(newsData[i].newsId == $checked.eq(j).parents("tr").find(".news_del").attr("data-id")){
							//修改列表中的文字
							$checked.eq(j).parents("tr").find("td:eq(3)").text("审核通过").removeAttr("style");
							//将选中状态删除
							$checked.eq(j).parents("tr").find('input[type="checkbox"][name="checked"]').prop("checked",false);
							form.render();
						}
					}
            	}
                layer.close(index);
				layer.msg("审核成功");
            },2000);
		}else{
			layer.msg("请选择需要审核的文章");
		}
	})*/

	//批量删除
	$(".batchDel").click(function(){
		var $checkbox = $('.news_list tbody input[type="checkbox"][name="checked"]');
		var $checked = $('.news_list tbody input[type="checkbox"][name="checked"]:checked');
		if($checkbox.is(":checked")){
			layer.confirm('确定删除选中的信息？',{icon:3, title:'提示信息'},function(index){
				var index = layer.msg('删除中，请稍候',{icon: 16,time:false,shade:0.8});
	            setTimeout(function(){
	            	//删除数据
	            	for(var j=0;j<$checked.length;j++){
	            		for(var i=0;i<newsData.length;i++){
							if(newsData[i].newsId == $checked.eq(j).parents("tr").find(".news_del").attr("data-id")){
								newsData.splice(i,1);
								newsList(newsData);
							}
						}
	            	}
	            	$('.news_list thead input[type="checkbox"]').prop("checked",false);
	            	form.render();
	                layer.close(index);
					layer.msg("删除成功");
	            },2000);
	        })
		}else{
			layer.msg("请选择需要删除的文章");
		}
	});
	
	//选择框
	$("body").on("click",".layui-form-checkbox",function(){  
		//alert("我被点了");
	});
	
	//全选
	form.on('checkbox(allChoose)', function(data){
		var child = $(data.elem).parents('table').find('tbody input[type="checkbox"]:not([name="show"])');
		child.each(function(index, item){
			item.checked = data.elem.checked;
		});
		form.render('checkbox');
	});

	//通过判断文章是否全部选中来确定全选按钮是否选中
	form.on("checkbox(choose)",function(data){
		var child = $(data.elem).parents('table').find('tbody input[type="checkbox"]:not([name="show"])');
		var childChecked = $(data.elem).parents('table').find('tbody input[type="checkbox"]:not([name="show"]):checked')
		if(childChecked.length == child.length){
			$(data.elem).parents('table').find('thead input#allChoose').get(0).checked = true;
		}else{
			$(data.elem).parents('table').find('thead input#allChoose').get(0).checked = false;
		}
		form.render('checkbox');
	})


	$("body").on("click",".staff_Del",function(){  //删除
		var _this = $(this);
		//得到张三名字和id
		var siid = _this.attr("siid");
		var siname = _this.attr("siname");
		//alert(id+siname)
		layer.confirm("确定删除"+siname+"？",{icon:3, title:'提示信息'},function(index){
			//_this.parents("tr").remove();
			$.ajax({
				type:"POST",
				url:"../staffindoAction!delStaffById",
				data:{siid:siid},
				dataType:"json",
				success:function(data){
					var index = top.layer.msg('数据删除中，请稍候！',{icon: 16,time:false,shade:0.8});
 	 				setTimeout(function(){
 	 					top.layer.close(index);
 	 					/*top.layer.msg(data);
 	 		 			layer.closeAll("iframe");*/
 	 			 		//刷新页面
 	 			 		location.reload();
 	 		        },2000);
				},
				error:function(data){
					var index = top.layer.msg('数据删除中，请稍候！',{icon: 16,time:false,shade:0.8});
 	 				setTimeout(function(){
 	 					top.layer.close(index);
 	 					/*top.layer.msg(data);
 	 		 			layer.closeAll("iframe");*/
 	 			 		//刷新页面
 	 			 		location.reload();
 	 		        },2000);
				}
			});
			layer.close(index);
		});
	})
	
	//ajax加载员工数据
	function selStaffByPageModel(pageNumber,limit,serachstuName){
		//得到当前要搜索的名字
		//var serachstuName = $("#serchName").val();
		//alert("开始ajax加载员工信息"+pageNumber+"--"+limit);
		$.ajax({
						type:"POST",
						url:"../staffindoAction!selStaffByPageModel",
						data:{pageNumber:pageNumber,limit:limit,serachstuName:serachstuName},
						dataType:"json",
						success:function(data){
							//此参数为了排序员工序号（非自增id）
							var orderNumber=limit*(pageNumber-1);
							//记得将员工信息内容清空
							$("#tabStaffInfo tbody").empty();
							//追加内容到表格里的tbody对象
							$(data.list).each(function(index){
								//alert(data.list[index].siname);
								//得到员工基本数据
								var siid = data.list[index].siid;
								var siname = data.list[index].siname;
								var sipwd = data.list[index].sipwd;
								var sisex = data.list[index].sisex;
								var siphone = data.list[index].siphone;
								var siaddress = data.list[index].siaddress;
								var siidCard = data.list[index].siidCard;
								//得到员工部门信息
								var dpIid = data.list[index].departmentinfo.dpIid;
								var dpIname = data.list[index].departmentinfo.dpIname;
								var dpIduty =  data.list[index].departmentinfo.dpIduty;
								
								//得到员工职业信息
								var ptIid = "";
								var ptIname = "";
								var ptIrequire = "";
								if(data.list[index].positioninfo==null){//说明该员工的职业是员工
									ptIid=0;
									ptIname="员工";
								}else{
									ptIid = data.list[index].positioninfo.ptIid;
									ptIname = data.list[index].positioninfo.ptIname;
									ptIrequire = data.list[index].positioninfo.ptIrequire;
								}
								
								orderNumber++;
								$("#tabStaffInfo tbody").append("<tr><td>"+orderNumber+"</td><td align='left'>"+siname+"</td><td>"+sisex+"</td><td>"+sipwd+"</td><td>"+siphone+"</td><td>"+siidCard+"</td><td>"+siaddress+"</td><td dpIid='"+dpIid+"' dpIduty='"+dpIduty+"' >"+dpIname+"</td><td ptIid='"+ptIid+"' ptIrequire='"+ptIrequire+"'>"+ptIname+"</td><td><a siid='"+siid+"' class='layui-btn layui-btn-xs staff_Update'><i class='layui-icon'>&#xe642;</i> 修改</a><a siid='"+siid+"' siname='"+siname+"' class='layui-btn layui-btn-danger layui-btn-xs staff_Del' data-id='1'><i class='layui-icon'>&#xe640</i> 删除</a></td></tr>");
							})
							//渲染一下组合框，防止第一次点击无效
							form.render('checkbox');
							//alert("即将渲染分页组件")
							//然后调用渲染分页组件的方法(需要传参 当前总页数,和每页的数据条数,和当前页)
							laypageRender(data.total,data.limit,data.pageNumber);
						},
						error:function(data){
								var index = layer.msg('没有数据哦，亲亲！',{icon: 16,time:false,shade:0.8});
					            setTimeout(function(){
					                layer.close(index);
					            },1000);
					            return;
						}
		});
		
		//渲染分页组件(需要传参 当前总页数,和每页的数据条数,和当前页)
		function laypageRender(count,limit,pageNumber){
			laypage.render({//指向存放分页的容器，值可以是容器ID、DOM对象
			    elem: 'page',
			    count: count,
			    curr:pageNumber,
			    limit:limit,
			    prev:"<<",
			    next:">>",
			    layout: ['count', 'prev', 'page', 'next', 'limit', 'refresh', 'skip'],
			    jump: function(obj,first){
			    	//得到当前点击的页码
			    	var pageNumber = obj.curr;
			    	//得到每页需要显示的数据条数
			    	var limit =obj.limit;
			    	//alert("将要去到第"+pageNumber+"页。每页显示"+limit+"条数据！")
			    	//console.log(obj);
			      //首次执行
			      if(first){
			        //alert("第一次加载分页组件哦");
			      }else{
			    	  //得到搜索框的值
			    	  var serachstuName = $("#inpSerachstuName").val();
			    	  //调用ajax得到数据
			    	  selStaffByPageModel(pageNumber,limit,serachstuName);
			      }
			    }
			  }); 
		}
	}
	
})
